/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.database.bean;

import com.database.dao.AsignacionesDao;
import com.database.dao.CategoriaDao;
import com.database.dao.UsuarioDao;
import com.database.dao.impl.AsignacionesDaoImplement;
import com.database.dao.impl.CategoriaDaoImplement;
import com.database.dao.impl.UsuarioDaoImplement;
import com.database.model.Categoria;
import com.database.model.Usuario;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;



  
/**
 *
 * @author diego
 */
@ManagedBean(name="pruebaCategoriaBean") 
@SessionScoped
public class PruebaCategoriaBean implements Serializable{
    
    
    private String city;  
  
    private String suburb;  
      
    private Map<String,String> cities = new HashMap<String, String>(); 
  
    private Map<String,Map<String,String>> suburbsData = new HashMap<String, Map<String,String>>();  
      
    private Map<String,String> suburbs = new HashMap<String, String>();
    
    private Integer categoria;
    
    private Integer asignado;
    
    private Map<Integer,Integer> categorias = new HashMap<Integer, Integer>();
    
    private Map<Integer,Map<Integer,Integer>> asignadoData = new HashMap<Integer, Map<Integer,Integer>>();  
      
    private Map<Integer,Integer> asignados = new HashMap<Integer, Integer>(); 
    
    private CategoriaDao categoriaDao;
    private AsignacionesDao asignacionesDao;
    private UsuarioDao usuarioDao;
    public PruebaCategoriaBean() {  
       
        
        
        cities.put("Istanbul", "Istanbul");  
        cities.put("Ankara", "Ankara");  
        cities.put("Izmir", "Izmir");
        
        /*******************************************************/
        /*BEGIN ESXTAS SON MIS PRUEBAS*/
        this.categoriaDao=  new CategoriaDaoImplement();
        this.asignacionesDao = new AsignacionesDaoImplement();
        this.usuarioDao = new UsuarioDaoImplement();
        
        /*Categoria categoria1=categoriaDao.buscarPorId(1);
        Categoria categoria2=categoriaDao.buscarPorId(2);
        Categoria categoria3=categoriaDao.buscarPorId(3);

        categorias.put(categoria1.getCodCategoria(),categoria1.getCodCategoria());
        categorias.put(categoria2.getCodCategoria(),categoria2.getCodCategoria());
        categorias.put(categoria3.getCodCategoria(),categoria3.getCodCategoria());
        * 
        * */
        /*END*/
        /*******************************************************/
        

        Map<String,String> suburbsIstanbul = new HashMap<String, String>();  
        suburbsIstanbul.put("Kadikoy", "Kadikoy");  
        suburbsIstanbul.put("Levent", "Levent");  
        suburbsIstanbul.put("Cengelkoy", "Cengelkoy");  
          
        Map<String,String> suburbsAnkara = new HashMap<String, String>();  
        suburbsAnkara.put("Kecioren", "Kecioren");  
        suburbsAnkara.put("Cankaya", "Cankaya");  
        suburbsAnkara.put("Yenimahalle", "Yenimahalle");  
          
        Map<String,String> suburbsIzmir = new HashMap<String, String>();  
        suburbsIzmir.put("Cesme", "Cesme");  
        suburbsIzmir.put("Gumuldur", "Gumuldur");  
        suburbsIzmir.put("Foca", "Foca");  
        
        
        
        /*******************************************************/
        /*BEGIN  ESXTAS SON MIS PRUEBAS*/
        Map<Integer,Integer> usuariosRedes = new HashMap<Integer, Integer>();
        Usuario usuarioRedes1= usuarioDao.buscarPorId(41);
        Usuario usuarioRedes2= usuarioDao.buscarPorId(42);
        Usuario usuarioRedes3= usuarioDao.buscarPorId(43);
        usuariosRedes.put(usuarioRedes1.getCodUsuario(),usuarioRedes1.getCodUsuario() );
        usuariosRedes.put(usuarioRedes2.getCodUsuario(),usuarioRedes2.getCodUsuario() );
        usuariosRedes.put(usuarioRedes3.getCodUsuario(),usuarioRedes3.getCodUsuario() );
        
        Map<Integer,Integer> usuarioAplicativos = new HashMap<Integer, Integer>();
        Usuario usuarioAplicativos1= usuarioDao.buscarPorId(44);
        Usuario usuarioAplicativos2= usuarioDao.buscarPorId(46);
        Usuario usuarioAplicativos3= usuarioDao.buscarPorId(47);
        usuarioAplicativos.put(usuarioAplicativos1.getCodUsuario(),usuarioAplicativos1.getCodUsuario() );
        usuarioAplicativos.put(usuarioAplicativos2.getCodUsuario(),usuarioAplicativos2.getCodUsuario() );
        usuarioAplicativos.put(usuarioAplicativos3.getCodUsuario(),usuarioAplicativos3.getCodUsuario() );
        
        /*END*/
        /*******************************************************/
        
          
        suburbsData.put("Istanbul", suburbsIstanbul);  
        suburbsData.put("Ankara", suburbsAnkara);  
        suburbsData.put("Izmir", suburbsIzmir);  
        
        
        /*******************************************************/
        /*BEGIN  ESXTAS SON MIS PRUEBAS*/
     //   asignadoData.put(categoria1.getCodCategoria(), usuariosRedes);
     //   asignadoData.put(categoria2.getCodCategoria(),usuarioAplicativos);
        /*END*/
        /*******************************************************/
        
        
    }  
      
    public String getCity() {  
        return city;  
    }  
  
    public void setCity(String city) {  
        this.city = city;  
    }  
  
    public String getSuburb() {  
        return suburb;  
    }  
  
    public void setSuburb(String suburb) {  
        this.suburb = suburb;  
    }  
  
    public Map<String, String> getCities() {  
        return cities;  
    }  
  
    public void setCities(Map<String, String> cities) {  
        this.cities = cities;  
    }  
      
    public Map<String, Map<String, String>> getSuburbsData() {  
        return suburbsData;  
    }  
  
    public void setSuburbsData(Map<String, Map<String, String>> suburbsData) {  
        this.suburbsData = suburbsData;  
    }  
      
    public Map<String, String> getSuburbs() {  
        return suburbs;  
    }  
  
    public void setSuburbs(Map<String, String> suburbs) {  
        this.suburbs = suburbs;  
    }  
      
    public void handleCityChange() {  
        if(city !=null && !city.equals(""))  {
            suburbs = suburbsData.get(city);  
        } else  {
            suburbs = new HashMap<String, String>();  
    }
    } 
    
    /*
     * este es el metodo usado para el evento
     */
     public void handleCategriasChange() {  
        if(categoria !=null && !categoria.equals(""))  {
            asignados = asignadoData.get(categoria);  
        } else  {
            asignados = new HashMap<Integer, Integer>();  
    }
    } 
  

    public Integer getCategoria() {
        Categoria categoria1=categoriaDao.buscarPorId(1);
        Categoria categoria2=categoriaDao.buscarPorId(2);
        Categoria categoria3=categoriaDao.buscarPorId(3);

        categorias.put(categoria1.getCodCategoria(),categoria1.getCodCategoria());
        categorias.put(categoria2.getCodCategoria(),categoria2.getCodCategoria());
        categorias.put(categoria3.getCodCategoria(),categoria3.getCodCategoria());
        return categoria;
    }

    public void setCategoria(Integer categoria) {
        this.categoria = categoria;
    }

    public Integer getAsignado() {
        return asignado;
    }

    public void setAsignado(Integer asignado) {
        this.asignado = asignado;
    }

    public Map<Integer, Integer> getCategorias() {
        return categorias;
    }

    public void setCategorias(Map<Integer, Integer> categorias) {
        this.categorias = categorias;
    }

    public Map<Integer, Map<Integer, Integer>> getAsignadoData() {
        return asignadoData;
    }

    public void setAsignadoData(Map<Integer, Map<Integer, Integer>> asignadoData) {
        this.asignadoData = asignadoData;
    }

    public Map<Integer, Integer> getAsignados() {
        return asignados;
    }

    public void setAsignados(Map<Integer, Integer> asignados) {
        this.asignados = asignados;
    }

 
    
}
